package com.lizhi.yun.core.index.handler;/**
 * @program: hbsf_yun
 * @name IndexHandler
 * @description: 首页的handler
 * @author: lizhi
 * @create: 2020-11-14 22:08
 */

import com.lizhi.common.yun.entity.ListResponseResult;
import com.lizhi.common.yun.entity.UpDataPOJO;
import com.lizhi.common.yun.enums.UppSystemEnum;
import com.lizhi.utils.PropertiesUtil;
import com.lizhi.utils.json.SamJsonUtil;
import com.lizhi.yun.base.BaseHandler;
import com.lizhi.yun.core.index.pojo.SeriesDataPOJO;
import com.lizhi.yun.core.index.pojo.UpSystemsPOJO;
import com.lizhi.yun.db.dao.UppParametersDao;
import com.lizhi.yun.db.dao.UppSystemDao;
import com.lizhi.yun.db.pojo.UppSystemPOJO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 *@program: hbsf_yun
 *@name IndexHandler
 *@description: 首页的handler
 *@author: lizhi
 *@create: 2020-11-14 22:08
 */
@Slf4j
@Service
public class IndexHandler extends BaseHandler {

    @Resource
    private UppSystemDao uppSystemDao;

    public ListResponseResult indexMain(){
        /*获取全部在线的设备*/
        Map<String, Object> map = new HashMap<>();
        map.put("systemStatus", UppSystemEnum.SYSTEM_STATUS_00.getEnValue());
        List<UppSystemPOJO> uppSystemPOJOS = uppSystemDao.selectByMap(map, null);
        List<String> legendData = new ArrayList<>();

        Map<String, Boolean> selected = new HashMap<>();
        for (int i = 0; i < uppSystemPOJOS.size(); i++){
            UppSystemPOJO uppSystemPOJO = uppSystemPOJOS.get(i);
            legendData.add(uppSystemPOJO.getBkOrganNm());
            if (i > 5){
                selected.put(uppSystemPOJO.getBkOrganNm(), false);
            } else {
                selected.put(uppSystemPOJO.getBkOrganNm(), true);
            }
        }

        List<SeriesDataPOJO> seriesData = new ArrayList<>();
        Map<String, Object> paramMap = new HashMap<>();
        paramMap.put("systemStatus", UppSystemEnum.SYSTEM_STATUS_00.getEnValue());
        List<UppSystemPOJO> seriesDatas = uppSystemDao.indexByMap(paramMap);
        for (UppSystemPOJO uppSystemPOJO : seriesDatas){
            SeriesDataPOJO seriesDataPOJO = new SeriesDataPOJO();
            seriesDataPOJO.setName(uppSystemPOJO.getBkOrganNm());
            seriesDataPOJO.setValue(uppSystemPOJO.getNum());
            seriesData.add(seriesDataPOJO);
        }

        UpSystemsPOJO upSystemsPOJO = new UpSystemsPOJO();
        upSystemsPOJO.setLegendData(legendData);
        upSystemsPOJO.setSelected(selected);
        upSystemsPOJO.setSeriesData(seriesData);
        return getListResult(upSystemsPOJO);
    }

    /**
     * 获取到的版本号
     * @return
     */
    public ListResponseResult getVersion(){
        /*读取版本号*/
        String version = PropertiesUtil.getProperties("version", "system");
        return getListResult(version);
    }
}
